Matthias Clasen [Sun, 5 May 2019 15:23:59 +0000 (15:23 +0000)]
testsuite: Add tests for ui file rewriting
Add a test script that runs
gtk4-builder-tool simplify --3to4.
No actual tests yet.
Matthias Clasen [Sun, 5 May 2019 15:21:58 +0000 (15:21 +0000)]
Fix the simplify test
The script was returning the wrong number of tests.
Piotr Drąg [Sun, 5 May 2019 14:11:04 +0000 (16:11 +0200)]
Update POTFILES.skip
Matthias Clasen [Sun, 5 May 2019 06:57:21 +0000 (06:57 +0000)]
Merge branch 'builder-tool-fixes' into 'master'
Builder tool fixes
See merge request GNOME/gtk!817
Matthias Clasen [Sun, 5 May 2019 06:41:31 +0000 (06:41 +0000)]
Merge branch 'emoji-chooser-fixes' into 'master'
Emoji chooser fixes
See merge request GNOME/gtk!816
Matthias Clasen [Sat, 4 May 2019 15:59:08 +0000 (15:59 +0000)]
builder-tool: Handle default values changing
The default value of GtkWidget::visible changed
from FALSE to TRUE from GTK 3 to 4. Make --3to4
deal with this by ensuring the visible property
is explicitly set, before simplifying.
Benjamin Otte [Sun, 5 May 2019 05:40:54 +0000 (05:40 +0000)]
Merge branch 'wip/otte/nodeeditor2' into 'master'
Use a text based format for render node files
See merge request GNOME/gtk!815
Timm Bäder [Sat, 4 May 2019 08:13:30 +0000 (10:13 +0200)]
gl renderer: Reset opacity when offscreen-rendering crossfade nodes
A pattern emerges...
Benjamin Otte [Thu, 2 May 2019 18:09:31 +0000 (20:09 +0200)]
testsuite: Add serialize test for debug node
Benjamin Otte [Sat, 9 Mar 2019 13:55:17 +0000 (14:55 +0100)]
node-editor: Add renderings with alternative renderers
That's pretty rough around the edges, but it mostly works.
Apart from sizing, screw listbox sizing.
Benjamin Otte [Thu, 2 May 2019 00:57:23 +0000 (02:57 +0200)]
gsk: Export gsk_vulkan_renderer_new()
Benjamin Otte [Thu, 2 May 2019 00:46:23 +0000 (02:46 +0200)]
gsk: Export gsk_broadway_renderer_new()
... when broadway is enabled.
Benjamin Otte [Thu, 2 May 2019 00:13:16 +0000 (02:13 +0200)]
gsk: Export gsk_gl_renderer_new()
Benjamin Otte [Wed, 1 May 2019 21:58:57 +0000 (23:58 +0200)]
gsk: Export Cairo renderer
Benjamin Otte [Wed, 1 May 2019 13:29:38 +0000 (15:29 +0200)]
testsuite: Add rounded-rect parsing test
Benjamin Otte [Tue, 12 Mar 2019 14:05:25 +0000 (15:05 +0100)]
Add gtk4-node-editor
It's meant to be a little editor for render nodes so we can do testing
with it.
Benjamin Otte [Sat, 27 Apr 2019 07:03:51 +0000 (09:03 +0200)]
rendernode: Parse and print blend nodes properly
Timm Bäder [Wed, 24 Apr 2019 06:00:04 +0000 (08:00 +0200)]
testsuite: Add nodeparser test case
A serialized frame from the widget factory!
Timm Bäder [Wed, 24 Apr 2019 16:57:11 +0000 (18:57 +0200)]
ci: Don't disable the gsk suite
Timm Bäder [Wed, 24 Apr 2019 16:30:46 +0000 (18:30 +0200)]
Add error func to node deserialization
Benjamin Otte [Sat, 27 Apr 2019 05:20:20 +0000 (07:20 +0200)]
testsuite: Black out parts of reftest
Timm Bäder [Wed, 24 Apr 2019 11:50:04 +0000 (13:50 +0200)]
testsuite: Remove old cairo/vulkan tests
They are still in the old binary format and haven't worked for a while.
Timm Bäder [Wed, 24 Apr 2019 11:47:30 +0000 (13:47 +0200)]
rendernode: Remove old GVariant (de)serialization code
We're doing the CSS thing now.
Timm Bäder [Wed, 24 Apr 2019 11:25:32 +0000 (13:25 +0200)]
testsuite: Add another gl renderer test
Benjamin Otte [Sat, 27 Apr 2019 04:42:28 +0000 (06:42 +0200)]
testsuite: Remove gl_tests infrastructure
They're now completely migrated to the new compare infrastructure, that
also tests Vulkan and Cairo.
Timm Bäder [Wed, 24 Apr 2019 10:48:59 +0000 (12:48 +0200)]
testsuite: Add cross-fade-in-opacity test
Making sure that an opacity node doesn't end up reviving a node that's
hidden because the cross-fade has progress 0 or 1.
Timm Bäder [Wed, 24 Apr 2019 10:48:13 +0000 (12:48 +0200)]
testsuite: Remove broken GL comparison tests
These only work on special hardware, which not even I have anymore.
We'll need to redo them in a way that works on different systems.
Timm Bäder [Wed, 24 Apr 2019 09:26:34 +0000 (11:26 +0200)]
testsuite: Print serialized nodes when parsing fails
Timm Bäder [Wed, 24 Apr 2019 09:26:17 +0000 (11:26 +0200)]
testsuite: add shadow node parser test
Timm Bäder [Wed, 24 Apr 2019 08:49:36 +0000 (10:49 +0200)]
testsuite: add another nodeparser crash test
Timm Bäder [Tue, 23 Apr 2019 16:08:06 +0000 (18:08 +0200)]
testsuite: Add serialize-deserialize tests
Check that we can successfully deserialize a node, then serialize it
again and deserialize that result once more.
Benjamin Otte [Thu, 21 Mar 2019 05:47:36 +0000 (06:47 +0100)]
testsuite: Add a broken test
This also adds some build magic so all tests that contain "-3d" in them
won't be added to the Cairo renderer.
Of course, this new test is such a test.
Benjamin Otte [Tue, 19 Mar 2019 07:16:07 +0000 (08:16 +0100)]
Move working tests to new directory
These are tests that are working on both GL and Cairo now.
Some tests got black boxes over the areas that aren't easy to compare.
Timm Bäder [Sat, 2 Mar 2019 10:15:02 +0000 (11:15 +0100)]
testsuite: Port gl tests to text-based format
Benjamin Otte [Sat, 27 Apr 2019 01:27:30 +0000 (03:27 +0200)]
testsuite: Delete some node tests
These are the tests that aren't going to be made to work, so let's just
delete them.
Benjamin Otte [Tue, 19 Mar 2019 04:29:20 +0000 (05:29 +0100)]
testsuite: Add tests for the new node parsing code
This adds a test tool gsk/node-parser that takes node files and parses
them.
A few of these node files have been added, for crashes I encountered while
developing the new parsing code.
Timm Bäder [Sat, 2 Mar 2019 15:55:17 +0000 (16:55 +0100)]
Parse render nodes from text files
Instead of the previous approach using GVariant, this new approach uses
human-readable text files as the serialization format for render nodes.
The format is a custom one, but it is inspired by QML and conforms to
the CSS syntax. Because of that, we can use the CSS machinery from GTK
to parse it, and in particular share code to parse properties that GTK's
CSS machinery also supports, such as colors.
This commit breaks all existing usages of node files - such as the
testsuite and various test tools - they will be fixed in further
commits.
Benjamin Otte [Wed, 1 May 2019 13:27:52 +0000 (15:27 +0200)]
cssparser: Add gtk_css_parser_has_number()
Asier Sarasua Garmendia [Sat, 4 May 2019 19:34:25 +0000 (19:34 +0000)]
Update Basque translation
Matthias Clasen [Sat, 4 May 2019 18:51:27 +0000 (18:51 +0000)]
entry: Drop our own Emoji chooser
We were using one Emoji chooser when triggered
via the context menu, and another one when
triggered via the icon.
Change things to always use the same Emoji
chooser instance.
Matthias Clasen [Sat, 4 May 2019 15:58:11 +0000 (15:58 +0000)]
builder-tool: Handle GtkWidget::visible properly
This property has a 'smart' default that depends
on the class of the object we're creating. Take
that into account when deciding whether to omit
properties that are set to their default value.
Matthias Clasen [Sat, 4 May 2019 16:55:52 +0000 (16:55 +0000)]
emoji chooser: Make Escape work again
Escape is expected to close the Emoji chooser.
Matthias Clasen [Sat, 4 May 2019 16:19:43 +0000 (16:19 +0000)]
emoji chooser: Fix handling of no recent Emoji
If the recent section is empty, we want to hide
it, make its button insensitive, and select the
next section, initially. This was not working
properly, since nothing was ever setting the
section box to invisible.
Asier Sarasua Garmendia [Sat, 4 May 2019 09:54:08 +0000 (09:54 +0000)]
Update Basque translation
Mohammed Sadiq [Sat, 4 May 2019 09:39:35 +0000 (15:09 +0530)]
docs: fix typo in function name
Matthias Clasen [Sat, 4 May 2019 02:12:02 +0000 (02:12 +0000)]
emoji chooser: populate incrementally
It takes half a second on my system to initially
populate the Emoji chooser. That is too long. Do
the work in 8 millisecond chunks to give GTK a
chance to get some frames done.
Matthias Clasen [Fri, 3 May 2019 04:58:46 +0000 (04:58 +0000)]
docs: Add an actions overview
Add an introduction chapter explaining actions
in detail. Most of this content is taken from
the GAction HowDoI page.
Matthias Clasen [Fri, 3 May 2019 04:57:58 +0000 (04:57 +0000)]
docs: Some additions to the overview
Mention graphene and gsk.
Matthias Clasen [Fri, 3 May 2019 04:22:07 +0000 (04:22 +0000)]
docs: Some updates to the input overview
Remove references to no longer existing apis,
and reword some things. Say surface instead of
window. Start filling out the keyboard section.
Jordi Mas [Fri, 3 May 2019 18:54:07 +0000 (20:54 +0200)]
Update Catalan translation
Timm Bäder [Fri, 3 May 2019 06:15:27 +0000 (08:15 +0200)]
filechooserbutton: Clean up finalize & destroy
Timm Bäder [Fri, 3 May 2019 06:10:50 +0000 (08:10 +0200)]
filechooserbutton: Clear model in destroy()
Since we're destroying priv->chooser right after. We can't wait until
finalize() since clearing the model will try to work with priv->chooser.
Timm Bäder [Fri, 3 May 2019 06:04:39 +0000 (08:04 +0200)]
filechooserbutton: Use a bin layout
Daniel Mustieles [Fri, 3 May 2019 12:36:45 +0000 (14:36 +0200)]
Updated Spanish translation
Piotr Drąg [Fri, 3 May 2019 11:42:45 +0000 (13:42 +0200)]
Update Polish translation
Piotr Drąg [Fri, 3 May 2019 11:19:12 +0000 (13:19 +0200)]
Update POTFILES.skip
Matthias Clasen [Fri, 3 May 2019 02:15:07 +0000 (02:15 +0000)]
Make the newly added test a bit more robust
Follow the style of the other tests and provide
style for both the test and ref.
Matthias Clasen [Fri, 3 May 2019 01:50:45 +0000 (01:50 +0000)]
Merge branch 'font-families' into 'master'
Font families
Closes #1854
See merge request GNOME/gtk!813
Matthias Clasen [Fri, 3 May 2019 01:33:09 +0000 (01:33 +0000)]
Add a reftest for multiple font families
This tests that listing multiple font
families in the css font-family property
works as expected.
Matthias Clasen [Fri, 3 May 2019 01:18:42 +0000 (01:18 +0000)]
css: Use multiple font-family values
Pango API to support this, so we can implement
this very easily.
Closes: https://gitlab.gnome.org/GNOME/gtk/issues/1854
Matthias Clasen [Thu, 2 May 2019 22:21:30 +0000 (22:21 +0000)]
migration guide: Updates
Add recent changes here.
Matthias Clasen [Thu, 2 May 2019 22:20:31 +0000 (22:20 +0000)]
NEWS: Updates
Matthias Clasen [Thu, 2 May 2019 21:03:41 +0000 (21:03 +0000)]
Merge branch 'event-controller-sensitive' into 'master'
Event controller sensitive
Closes #1861
See merge request GNOME/gtk!812
Matthias Clasen [Thu, 2 May 2019 20:20:20 +0000 (20:20 +0000)]
fixup! event controller: Don't deliver events to insensitive widgets
Matthias Clasen [Thu, 2 May 2019 19:09:17 +0000 (19:09 +0000)]
spin button: Listen for ::cancel on gestures
Otherwise, we keep spinning when we should stop.
Closes: https://gitlab.gnome.org/GNOME/gtk/issues/1861
Matthias Clasen [Thu, 2 May 2019 19:12:29 +0000 (19:12 +0000)]
widget: Reset controllers when going numb
Reset event controllers when their
widget is going insensitive. This is
the expected behavior.
Matthias Clasen [Thu, 2 May 2019 19:10:49 +0000 (19:10 +0000)]
gesture: Chain up in filter_event
This is the right thing to do.
We want to exclude more events.
Matthias Clasen [Thu, 2 May 2019 19:11:30 +0000 (19:11 +0000)]
event controller: Don't deliver events to insensitive widgets
This is another way to avoid delivering events
to insensitive widgets.
Benjamin Otte [Thu, 2 May 2019 17:22:43 +0000 (19:22 +0200)]
rendernode: Compute border node colors properly
Change the way we compute border color cutoffs to the same method that
browsers use. This method does not consider the corner sizes at all and
only looks at border-width.
Benjamin Otte [Thu, 2 May 2019 17:16:16 +0000 (19:16 +0200)]
roundedrect: Mke sure shrinking borders works
Previously, when borders were too big - ie when a 100x100 rect had only
one 100x100 border, like the black part of ◔ - and then shrinking this
rect by 25px on either side, we'd end up with a 50x50 rect with a 75x75
border, and that's obviously not correct.
Matthias Clasen [Thu, 2 May 2019 02:57:49 +0000 (02:57 +0000)]
gtk: Small documentation fixes
Matthias Clasen [Thu, 2 May 2019 02:49:10 +0000 (02:49 +0000)]
box layout: Documentation additions
Matthias Clasen [Thu, 2 May 2019 02:43:07 +0000 (02:43 +0000)]
gsk: Documentation tweaks
Add some missing symbols.
Matthias Clasen [Thu, 2 May 2019 02:39:36 +0000 (02:39 +0000)]
gdk: Documentation improvements
Document some new x11 symbols.
Matthias Clasen [Thu, 2 May 2019 02:12:28 +0000 (02:12 +0000)]
Merge branch 'inspector-menus' into 'master'
inspector: Fix showing of menus
See merge request GNOME/gtk!810
Matthias Clasen [Thu, 2 May 2019 02:09:03 +0000 (02:09 +0000)]
Merge branch 'inspector-actions' into 'master'
inspector: Show the default.activate action
See merge request GNOME/gtk!809
Matthias Clasen [Thu, 2 May 2019 02:05:46 +0000 (02:05 +0000)]
inspector: Fix showing of menus
We were hitting an assertion in some leftover
code that assumed property editors are popovers.
Matthias Clasen [Thu, 2 May 2019 01:55:28 +0000 (01:55 +0000)]
Merge branch 'filechooser-save-again' into 'master'
Make file chooser saving work again
See merge request GNOME/gtk!808
Matthias Clasen [Thu, 2 May 2019 01:53:57 +0000 (01:53 +0000)]
inspector: Show the default.activate action
We were hardcoding that GtkApplicationWindow only
has a single action group with prefix 'win', but
that is no longer the case. Simply use the code
for the general widget case that can handle multiple
action groups.
Matthias Clasen [Thu, 2 May 2019 01:49:31 +0000 (01:49 +0000)]
Merge branch 'kill-display-changed' into 'master'
Kill display changed
See merge request GNOME/gtk!807
Matthias Clasen [Thu, 2 May 2019 01:08:21 +0000 (01:08 +0000)]
Make file chooser saving work again
I was a little overzealous when going
for the new default handling here. We
can't switch to gtk_widget_activate_default
before we actually handle the default.activate
action.
Matthias Clasen [Thu, 2 May 2019 00:11:55 +0000 (00:11 +0000)]
Drop the GtkWidget::display-changed signal
Display changes now happen exclusively through
the ::root and ::unroot vfuncs. Third parties
can observe display changes by listening
for notify::root.
Matthias Clasen [Thu, 2 May 2019 00:08:49 +0000 (00:08 +0000)]
gtk: Use root/unroot instead of display-changed
The display-changed signal is going away
Matthias Clasen [Wed, 1 May 2019 22:52:13 +0000 (22:52 +0000)]
menu: Listen only for notify::root
We no longer emit the display-changed signal,
so stop listening.
Matthias Clasen [Wed, 1 May 2019 22:41:20 +0000 (22:41 +0000)]
window: Implement display change via root/unroot
Export gtk_widget_root/unroot privately,
make them work on roots, and use them in
gtk_window_set_display. This gets us to a
single way to listen for display changes,
the root property.
Matthias Clasen [Wed, 1 May 2019 23:01:50 +0000 (23:01 +0000)]
Merge branch 'inspector-menu-fix' into 'master'
Inspector menu fix
See merge request GNOME/gtk!804
Matthias Clasen [Wed, 1 May 2019 20:41:59 +0000 (20:41 +0000)]
menus: Fix menus on non-default displays
Currently, we sometimes emit display-changed
when the display changed, and sometimes we don't
since the display is changed via gtk_widget_root.
Listen for notify::root as well and update our
display. This is a temporary fix - all display
changes should go through gtk_widget_root,
eventually.
Benjamin Otte [Wed, 1 May 2019 22:09:13 +0000 (22:09 +0000)]
Merge branch 'kill-menu-display' into 'master'
Kill menu display
See merge request GNOME/gtk!806
Matthias Clasen [Wed, 1 May 2019 21:49:25 +0000 (21:49 +0000)]
Remove gtk_menu_set_display
Menus should always be attached to a toplevel,
in which case they get their display that way.
Matthias Clasen [Wed, 1 May 2019 21:48:56 +0000 (21:48 +0000)]
tests: Stop using gtk_menu_set_display
It is not needed here.
Matthias Clasen [Wed, 1 May 2019 21:19:27 +0000 (21:19 +0000)]
Merge branch 'expander-demo-fix' into 'master'
gtk-demo: Make the expander demo behave again
See merge request GNOME/gtk!805
Matthias Clasen [Wed, 1 May 2019 21:12:36 +0000 (21:12 +0000)]
gtk-demo: Make the expander demo behave again
Changes to the dialog hierarchy have affected
this demo, that admittedly pokes at message
dialog internals. Do that some more, to fix
things up.
Matthias Clasen [Wed, 1 May 2019 20:39:44 +0000 (20:39 +0000)]
wayland: sanity check events at the source
Sanity check events before we throw them into
the event queue, as this makes it much easier
to track down the culprit.
Matthias Clasen [Wed, 1 May 2019 20:39:00 +0000 (20:39 +0000)]
gdk: add a sanity check for events
Before delivering events to GTK, make sure
they're sane. For now, this means making sure
the surface and device are from the same
display.
Matthias Clasen [Wed, 1 May 2019 20:46:02 +0000 (20:46 +0000)]
seat: Add a sanity check
apis that takes multiple display-relative objects
should make sure that they are all from the same
display, or hard-to-track-down badness will happen
later on.
Add such a check for the surface and device arguments
of gdk_seat_grab. This helped in tracking down
critical warnings from combo boxes in the inspector.
Matthias Clasen [Wed, 1 May 2019 17:26:34 +0000 (17:26 +0000)]
Merge branch 'add-color-button-fix' into 'master'
Adwaita: Fix 'add color' button corners
Closes #1856
See merge request GNOME/gtk!801
Matthias Clasen [Wed, 1 May 2019 17:18:39 +0000 (17:18 +0000)]
Adwaita: Fix 'add color' button corners
The specification for border-radius goes
top-left top-right bottom-right bottom-left.
The css for the add button in the color
chooser got this wrong, and was showing
a broken top-right corner.
Closes: https://gitlab.gnome.org/GNOME/gtk/issues/1856
Rico Tzschichholz [Wed, 1 May 2019 13:03:16 +0000 (15:03 +0200)]
Add a few placeholder documentation block to have g-i annotations
Matthias Clasen [Wed, 1 May 2019 05:21:09 +0000 (05:21 +0000)]
Merge branch 'entry-fix' into 'master'
Fix Emoji insertion
See merge request GNOME/gtk!800
Matthias Clasen [Wed, 1 May 2019 05:13:52 +0000 (05:13 +0000)]
text: Make Emoji insertion work properly
We are now getting focus-out and focus-in events
when the Emoji chooser is shown and hidden, and
this is causing the text to select-on-entry before
inserting the Emoji, which then deletes the selection.
Avoid this by saving and restoring the selection
when presenting the Emoji chooser.